import dayjs from "dayjs"    //时间处理插件
import ModeData from '@/assets/data';
export function MySleep(data){
    var iTime = new Date().getTime();
    while(new Date().getTime()-iTime<data){
      // if(new Date().getTime()-iTime>=data)break;
    }
}
  const nums = ["A","B","C","D","E","F","G","H","I","J",
      "K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
/**
 * 数字转成 A B C D E F G 字母,26进制
 * @param num
 */
export function numToString(num){
    num = new Number(num);
    var res = "";
    while(num){
        res=nums[num%26]+res;
        num = Math.floor(num/26);
    }
    return res;
}
export function formatCode(code) {
    // console.info(row,column);
    var res = "" + code;
    while (res.length < 4)
        res = "0" + res;
    return "P" + res;
}
export function isEmpty(s) {
  return s==""||s==null||s==undefined;
}
//获取运行结果
/**
 * 获取运行结果
 * @param errorStatus
 * @returns {string}
 */
export function  getSubmitResult(errorStatus){
    if(errorStatus==null||errorStatus==undefined){
        '<span style="color:grey">未知</span>';
    }
    var color = 'grey';  //初始颜色
    if(errorStatus==0)color="#25bbb5";  //成功
    else if(errorStatus==1)color="red"; //答案错误
    else if(errorStatus==2||errorStatus==3)color = "gray";  //超时/内存超限
    else if(errorStatus==4)color = "#fec10f";  //编译失败
    else if(errorStatus==5)color = "red";  //运行失败
    else if(errorStatus==7) color = "#c6f5cd"; //正在判题
    var res = '';
    if(errorStatus==7){  //正在加载的图标
        res = '<i class="fa fa-spinner fa-spin"></i>';
    }

    return '<span style="color:'+color+'">'+ModeData.submit.status[errorStatus]+'</span>'+res;
}
/**
 * 时间格式输出转换器
 * @param {Date.toString} val 字符串形式的时间
 */
export function timeToString(val){
    var date = new Date(val);
    return toggleTime(val);
}
//根据不同时间的消息，输出不同的时间格式
function toggleTime(date){
    var time;
    var type=getDateDiff(date);
    //1：新消息，2：当天消息,3：昨天消息，4：今年消息，5：其他消息
    if(type==1){
        time="刚刚";//新消息，不显示时间，但是要显示"以下为最新消息"
    }else if(type==2){
        time=dayjs(date).format("H:mm");//当天消息，显示：10:22
    }else if(type==3){
        time=dayjs(date).format("昨天 H:mm");//昨天消息，显示：昨天 20:41
    }else if(type==4){
        time=dayjs(date).format("M月D日 AH:mm").replace("AM","上午").replace("PM","下午");//今年消息，上午下午，显示：3月17日 下午16:45
    }else if(type==5){
        time=dayjs(date).format("YYYY年M月D日 AH:mm").replace("AM","上午").replace("PM","下午");//其他消息，上午下午，显示：2020年11月2日 下午15:17
    }
    return time;

}
//判断消息类型
function getDateDiff(date) {
    var nowDate=dayjs(new Date());//当前时间
    var oldDate=dayjs(new Date(date));//参数时间
    var result;
    if (nowDate.year()-oldDate.year() >= 1) {
        result=5;
    } else if (nowDate.month()-oldDate.month()>=1 || nowDate.date()-oldDate.date()>=2) {
        result=4;
    } else if (nowDate.date()-oldDate.date()>=1) {
        result=3;
    } else if (nowDate.hour()-oldDate.hour()>=1 || nowDate.minute()-oldDate.minute()>=5) {
        result=2;
    } else {
        result=1;
    }
    return result;
}
